<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Pin: Pin Deprecated API</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Pin
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Pin Deprecated API<div class="ingroups"><a class="el" href="group__UTIL__REF.html">Utilities API Reference</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga7ab8e8cbb95e48a9d602974165d32da6"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEPRECATED.html#ga7ab8e8cbb95e48a9d602974165d32da6">CALLBACK_SetExecutionPriority</a> (<a class="el" href="group__PIN__CALLBACKS.html#ga80ecde10e25aa90133f29e875d21d61d">PIN_CALLBACK</a> callback, INT32 priority)</td></tr>
<tr class="separator:ga7ab8e8cbb95e48a9d602974165d32da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac01d835c4dbd743e36527aa5912c2697"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API INT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEPRECATED.html#gac01d835c4dbd743e36527aa5912c2697">CALLBACK_GetExecutionPriority</a> (<a class="el" href="group__PIN__CALLBACKS.html#ga80ecde10e25aa90133f29e875d21d61d">PIN_CALLBACK</a> callback)</td></tr>
<tr class="separator:gac01d835c4dbd743e36527aa5912c2697"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96eef889e1a1d4925cee55139f64fc06"><td class="memItemLeft" align="right" valign="top">PIN_DEPRECATED_API ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEPRECATED.html#ga96eef889e1a1d4925cee55139f64fc06">IMG_Entry</a> (IMG img)</td></tr>
<tr class="separator:ga96eef889e1a1d4925cee55139f64fc06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83442cefc4872a7a1ef65dcd8d7a5212"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEPRECATED.html#ga83442cefc4872a7a1ef65dcd8d7a5212">PIN_SetThreadData</a> (<a class="el" href="group__THREADS.html#ga08319cb7eb56ee92a74dd9a97476c1eb">TLS_KEY</a> key, const VOID *data)</td></tr>
<tr class="separator:ga83442cefc4872a7a1ef65dcd8d7a5212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61a18ab0c0480233459762b242fe1f5a"><td class="memItemLeft" align="right" valign="top">VOID *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEPRECATED.html#ga61a18ab0c0480233459762b242fe1f5a">PIN_GetThreadData</a> (<a class="el" href="group__THREADS.html#ga08319cb7eb56ee92a74dd9a97476c1eb">TLS_KEY</a> key)</td></tr>
<tr class="separator:ga61a18ab0c0480233459762b242fe1f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>APIs from older versions of Pin that have been replaced by more powerful, or simpler, interfaces in the current version of Pin. The newer APIs should be used instead of these interfaces. </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="gac01d835c4dbd743e36527aa5912c2697"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac01d835c4dbd743e36527aa5912c2697">&#9670;&nbsp;</a></span>CALLBACK_GetExecutionPriority()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API INT32 CALLBACK_GetExecutionPriority </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__PIN__CALLBACKS.html#ga80ecde10e25aa90133f29e875d21d61d">PIN_CALLBACK</a>&#160;</td>
          <td class="paramname"><em>callback</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Gets the execution priority of a registered callback function The lower the execution priority, the sooner it will be called relative to other similar callbacks </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callback</td><td>Registered Callback function returned from *_Add*Function()</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>INT32 The current priority value of the callback</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
 </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: See CALLBACK_GetExecutionOrder. </dd></dl>

</div>
</div>
<a id="ga7ab8e8cbb95e48a9d602974165d32da6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ab8e8cbb95e48a9d602974165d32da6">&#9670;&nbsp;</a></span>CALLBACK_SetExecutionPriority()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API VOID CALLBACK_SetExecutionPriority </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__PIN__CALLBACKS.html#ga80ecde10e25aa90133f29e875d21d61d">PIN_CALLBACK</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INT32&#160;</td>
          <td class="paramname"><em>priority</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Deprecated Pin client functions.</p>
<p>Sets the execution priority of a registered callback function The lower the execution priority, the sooner it will be called relative to other similar callbacks </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callback</td><td>Registered Callback function returned from *_Add*Function() </td></tr>
    <tr><td class="paramname">priority</td><td>New priority to assign to the callback</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The pin client lock is obtained during the call of this API.</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
 </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: See CALLBACK_SetExecutionOrder. </dd></dl>

</div>
</div>
<a id="ga96eef889e1a1d4925cee55139f64fc06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga96eef889e1a1d4925cee55139f64fc06">&#9670;&nbsp;</a></span>IMG_Entry()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PIN_DEPRECATED_API ADDRINT IMG_Entry </td>
          <td>(</td>
          <td class="paramtype">IMG&#160;</td>
          <td class="paramname"><em>img</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pin image handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Address of first instruction executed when image is loaded</dd></dl>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED: API returned wrong value in case of position independent code. Use <a class="el" href="group__IMG.html#gab35f17d40de6a4ecc51db591354d7841">IMG_EntryAddress()</a> instead.</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga61a18ab0c0480233459762b242fe1f5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61a18ab0c0480233459762b242fe1f5a">&#9670;&nbsp;</a></span>PIN_GetThreadData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">VOID* PIN_GetThreadData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__THREADS.html#ga08319cb7eb56ee92a74dd9a97476c1eb">TLS_KEY</a>&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the value stored in the specified TLS slot of the thread.</p>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED and NO LONGER SUPPORTED. Please use the version of this function which takes a THREADID argument.</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga83442cefc4872a7a1ef65dcd8d7a5212"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga83442cefc4872a7a1ef65dcd8d7a5212">&#9670;&nbsp;</a></span>PIN_SetThreadData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL PIN_SetThreadData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__THREADS.html#ga08319cb7eb56ee92a74dd9a97476c1eb">TLS_KEY</a>&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VOID *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Store specified value in the specified TLS slot of the thread.</p>
<dl class="section note"><dt>Note</dt><dd>DEPRECATED and NO LONGER SUPPORTED. Please use the version of this function which takes a THREADID argument.</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
